package IO流;

import java.io.File;
import java.io.IOException;
import java.util.Date;

/**
 * 获取文件或者文件夹的属性
 * File不能对文件的内容进行修改，需要IO流
 * */
public class File类 {

    public static void main(String[] args) throws IOException {

        File file=new File("F:\\就业");
        /*
        file.createNewFile();//当前路径的文件不存在的时候，创建一个又该抽象路径名命名的心空文件
        如果文件不存在，就创建文件，并返回true；如果文件存在，就不创建文件，并返回false
        file.mkdir();//创建由此抽象路径名命名的目录
        如果目录不存在，就创建文件，并返回true；如果目录存在，就不创建文件，并返回false
        file.mkdirs();//创建由此抽象路径名命名的目录，包括任何必须但不存在的父目录
         如果多级目录不存在，就创建文件，并返回true；如果多级目录存在，就不创建文件，并返回false
        */
        System.out.println(file.getName());//文件名
        System.out.println(file.getAbsoluteFile());//文件的绝对地址;
        System.out.println(file.length());//文件的长度
        System.out.println(file.exists());//文件是否存在
        System.out.println(file.canRead());//可读
        System.out.println(file.canWrite());//可写
        System.out.println(file.canExecute());//可执行
        System.out.println(file.isFile());//是文件
        System.out.println(file.isDirectory());//是文件夹
        System.out.println(file.getPath());//返回抽象路径名转换为路径名字符串
        File []file1=file.listFiles();//获取文件夹中的所有文件等
        System.out.println(file1.length);//其中有多少个文件和文件夹
        for(File x:file1) {
            System.out.println(x.getName() + "\t" + new Date(x.lastModified()).toLocaleString());//输出所有文件或文件夹的名字和最近打开时间
            if (x.isDirectory())
                System.out.println();
            else
                System.out.println("     "+x.length());
        }
          /*if(file.exists())//文件夹存在就删除，如果说不存在就创建
              file.delete();
          else {
          File m=file.getParentFile();//如果上级文件夹不存在，获得上级文件夹
          if(!m.exists())
              m.mkdirs();//采用此方法新建文件夹mkdir是创建一级文件夹，加s之后是创建多级文件夹
              try {
                  file.createNewFile();
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }*/
    }

}
